PCSX2 0.9.2 Break on Read/Write hack by Tom-Servo

Modifications:
1. Can break on Read, Write, or Execute (Ranges are supported too).
2. The main memory portion of savestates are not compressed. (saved to *.m32)
3. Information on breaks encountered is printed out to the console window. 
   Address: Bytes Read/Wrote | Chars Read/Wrote - Read/Write/Execute
          : Opcode
4. ForceCRC option in INI forces the CRC of any game to equal given value when not in debug mode. (00000000 off) 
5. DefaultCRC option in INI is used when the game CRC = 00000000. Usually happens in debug mode. (00000000 off) 
6. Smartlogging logs only unique reads/writes/executes.  You can use silent logging first to exclude code that is always executed.  This makes it really easy to find rarely taken branches.


Current supported break on R/W opcodes (At least):
Write: SB SH SW SQ SD SWC1
Read:  LB LBU LH LHU LW LWU LD LQ LWC1


Also included is everything you need to inject new code into a savestate.

Example: 

Assuming everything is in sstate directory.  Don't use an extension on "Your_Code"

Your_Code        = Source code
80808080.000.M32 = Savestate to modify 
B4B460           = Offset

inj_spasm.bat Your_Code 80808080.000.M32 B4B460


Notes:
Before using debug mode make sure to turn off EERec, VU0rec, VU1rec.  Not sure about Multithreading and Dual core mode.
To save time play the game with EERec, VU0rec, and VU1rec on and make a savestate near where you'd like to debug.

It is a good idea to close and reopen the emulator after doing things like Smart logging.  Sometimes after a smartlog it won't break anymore.